package com.bifang.common.annotations;

import com.bifang.common.constant.enums.common.BoolEnum;
import com.bifang.common.constant.enums.common.FuncTypeEnum;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/** 方法 */
// 声明在方法上
@Target({ElementType.METHOD})
// 保留期限 运行时期, 也就是一直保留, 通常也都用这个
@Retention(RetentionPolicy.RUNTIME)
public @interface OpApi {
    // 功能编号
    String funcCode() default "";
    // 功能名称
    String title() default "";
    // 父功能编号
    String parentCode() default "";
    // 功能类型
    FuncTypeEnum funcType() default FuncTypeEnum.other;
    // 是否公共 true表示不校验登录也不校验权限 false 表示校验登录
    BoolEnum publicFlag() default BoolEnum.FALSE;
    // 是否保存接口日志
    boolean savelog() default false;
    // 摘要
    String remarks() default "";
    // 是否校验权限 true 校验权限 false 不校验权限
    BoolEnum checkPrivilege() default BoolEnum.TRUE;
}
